home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / assign manager / assignmanager / assignmanager.guide (.txt) next >
Amigaguide Document  |  1996-04-07  |  20KB  |  269 lines

  1. @database AssignManager.guide
  2. @author Matt Francis
  3. @(c) 1993 Matt Francis
  4. @wordwrap
  5. @node Main "Contents"
  6. @{b}@{u}ASSIGNMANAGER V1.24@{uu}@{ub}
  7.     @{"Credits" link Credits}
  8.     @{"Disclaimer" link Disclaimer}
  9.     @{"Copyright" link Copyright}
  10.     @{"Distribution" link Distribution}
  11.     @{"Requirements" link Requirements}
  12.     @{"Installation" link Installation}
  13.     @{"Introduction" link Introduction}
  14.     @{"Using AssignManager" link UsingAssignManager}
  15.     @{"Acknowledgments" link Acknowledgments}
  16.     @{"History" link History}
  17. @endnode
  18. @node Credits
  19.                             @{b}@{u}ASSIGNMANAGER V1.24@{uu}@{ub}
  20.                           Created by Matt Francis
  21.                          ReqTools by Nico Fran
  22.                      GUI created with GadToolsBox V2.0c
  23.       This program is @{b}giftware@{ub}.  I @{i}demand @{ui}no payment for this program,
  24.    because I feel I have benifitted greatly from the generosity of other
  25.      Amiga programmers, but the spiritually-sound among you should note
  26.    that I have worked long and hard on this software.  If you appreciate
  27.      (and use) my efforts, you would cheer me up a lot by sending some
  28.                money my way.  Job offers are also welcome :-)
  29.             @{i}E-Mail:    @{ui}m.p.francis@newcastle.ac.uk
  30.             @{i}S-Mail:    @{ui}Matt Francis,
  31.                 142 Tamworth Road,
  32.                 Fenham,
  33.                 Newcastle-upon-Tyne,
  34.                 NE4 5AN
  35.                 England
  36.                 @{i}(until July 1994) @{ui}
  37. @endnode
  38. @node Disclaimer
  39. This software comes with no warranty, either expressed or implied.  The author is in no way responsible for any damage or loss that may occur due to direct or indirect usage of this software.  Use this software entirely at your own risk.
  40. @endnode
  41. @node Copyright
  42. This software is freely distributable, BUT all programs and documentation are copyright 1993 Matt Francis.  The ReqTools library is copyright to Nico Fran
  43. ois.  Permission is NOT given to re-release this package if it has been altered in any way.
  44. @endnode
  45. @node Distribution
  46. Permission is given to include this program in a public archive (such as a BBS, FTP site or PD library) providing that all parts of the original distribution are kept intact.  These are as follows:
  47.     AssignManager/Assigns
  48.     AssignManager/Assigns.info
  49.     AssignManager/AssignManager.guide
  50.     AssignManager/AssignManager.guide.info
  51.     AssignManager/IMPORTANT
  52.     AssignManager/IMPORTANT.info
  53.     AssignManager/ConvertPrefs
  54.     AssignManager/ConvertPrefs.info
  55.     AssignManager/ConvertPrefs.rexx
  56.     AssignManager.info
  57.     Libs/reqtools.library
  58. No charge may be made for this program, other than a @{i}reasonable@{ui} copying fee, and/or the price of the media.
  59. @endnode
  60. @node Requirements
  61. AssignManager requires Kickstart V36 or above and Nico Fran
  62. ois' ReqTools library V38 or above.
  63. If you don't have ReqTools, the latest version of the library is supplied, which is all you need to use AssignManager.  However, I would recommend getting the latest version of the ReqTools distribution, which includes useful things such as docs, a prefs editor and ARexx interface for ReqTools and, of course, the excellent RTPatch.
  64. @endnode
  65. @node Installation
  66. To install AssignManager, drag the "Assigns" program into the drawer where all your other prefs editors are (usually "SYS:Prefs").  Then add the following line near the start of your @{"User-Startup" link UserStartup}:
  67. Assigns USE
  68. (NOTE:  If your prefs drawer is not in your DOS path, you will have to use something like "SYS:Prefs/Assigns USE" instead.  This won't be a problem if you use a standard configuration.)
  69. Once you've done this, you'll never need to add an Assign command to your @{"User-Startup" link UserStartup} again!
  70. @{u}A final note:@{uu} when you first run AssignManager, you will
  71. (presumably) not have an AssignManager prefs file.  If this is the case, AssignManager will automatically grab the current assigns.  You should delete any system or startup-sequence assigns from those AssignManager has grabbed.  If you're not sure which ones to remove, clear the whole lot and start adding your own assigns from scratch.
  72. @endnode
  73. @node UserStartup "The User-Startup file"
  74. This file is a special extension of the Startup-Sequence file that is executed when your system (re)boots.  As each generation of Amigas becomes more sophisticated, the Startup-Sequence gets more complex too, and it now contains so many important commands that Commodore advise against tampering with it.  In their wisdom, Commodore forsaw that people would need to add commands to the startup process, so they created the User-Startup method to allow for this.  If a DOS script file called "User-Startup" exists in the S: directory, it will be executed right at the end of the Startup-Sequence, just before Workbench is started.  These means that users are able to add their own Assigns or Paths and run programs and patches that can't be started via the WBStartup drawer without the need to touch the Startup-Sequence file in any way.
  75. @endnode
  76. @node Introduction
  77. Please read the @{"History" link History} section for information on changes and bug-fixes.
  78. AssignManager is a new prefs editor which handles your custom assigns in a friendly, all-encompassing way.  No more fiddling with Assign commands in @{"User-Startups" link UserStartup}.  Now you can use AssignManager to edit your list of assigns to your heart's content, and you can change them at the drop of a hat.
  79. AssignManager functions as a true prefs editor in every way, except you can't save different presets (I didn't think this was very necessary).  The only other difference is that you must add a line near the start of your @{"User-Startup" link UserStartup} (see @{"Installation" link Installation}).
  80. @endnode
  81. @node UsingAssignManager "Using AssignManager"
  82. If you can use Commodore's prefs editors, and if you are familiar with GadTools gadgets, you should have no problems using AssignManager.
  83. AssignManager can be started from the Workbench or a Shell.
  84.    Format: ASSIGNS [USE] [PUBSCREEN <public screen name>]
  85.  Template: USE/S,PUBSCREEN/K
  86.  Native tool-types: PUBSCREEN=<public screen name>
  87. When the program is invoked from the Workbench, or without the "USE" switch from a Shell, AssignManager's window will appear.  The window contains a number of gadgets:
  88.     @{"Add" link AddGadget}        @{"Top" link TopGadget}        @{"Up" link UpGadget}        @{"Down" link DownGadget}
  89.     @{"Bottom" link BottomGadget}        @{"Sort" link SortGadget}        @{"Delete" link DeleteGadget}        @{"Unassign" link UnassignGadget}
  90.     @{"Clear" link ClearGadget}        @{"Assign" link AssignGadget}        @{"Type" link TypeGadget}        @{"State" link StateGadget}
  91.     @{"Path" link PathGadget}        @{"Comment" link CommentGadget}    @{"Save" link SaveGadget}        @{"Use" link UseGadget}
  92.     @{"Cancel" link CancelGadget}
  93. AssignManager uses the standard prefs-editor format for its menus. The
  94. @{b}Project@{ub} menu is self-explanantory.
  95.     @{b}Edit menu@{ub}    @{"Reset To Defaults" link EditMenuReset}
  96.             @{"Last Saved" link EditMenuLastSaved}
  97.             @{"Restore" link EditMenuRestore}
  98.             @{"Grab Current" link EditMenuGrabCurr}
  99. Sending AssignManager a @{"CTRL-D" link Signals} will cause it to pop up. AssignManager can be killed with a @{"CTRL-C" link Signals}.
  100. @endnode
  101. @node AddGadget "Add Gadget"
  102. Keyboard shortcut = @{b}a@{ub}/@{b}A@{ub}
  103. This gadget causes a new, blank entry to be added at the bottom of the assign list.  You can fill in the new assign's details with the gadgets below the list-view.
  104. See also: @{"Delete" link DeleteGadget}, @{"Unassign" link UnassignGadget}, @{"Clear" link ClearGadget}
  105. @endnode
  106. @node TopGadget "Top Gadget"
  107. Keyboard shortcut = @{b}U@{ub}
  108. This gadget causes the current entry to be moved to the very top of the assign list.
  109. See also: @{"Up" link UpGadget}, @{"Down" link DownGadget}, @{"Bottom" link BottomGadget}
  110. @endnode
  111. @node UpGadget "Up Gadget"
  112. Keyboard shortcut = @{b}u@{ub}
  113. This gadget causes the current entry to move up one line in the assign list.
  114. See also: @{"Top" link UpGadget}, @{"Down" link DownGadget}, @{"Bottom" link BottomGadget}
  115. @endnode
  116. @node DownGadget "Down Gadget"
  117. Keyboard shortcut = @{b}d@{ub}
  118. This gadget causes the current entry to move down one line in the assign list.
  119. See also: @{"Top" link TopGadget}, @{"Up" link UpGadget}, @{"Bottom" link BottomGadget}
  120. @endnode
  121. @node BottomGadget "Bottom Gadget"
  122. Keyboard shortcut = @{b}D@{ub}
  123. This gadget causes the current entry to be moved to the very bottom of the assign list.
  124. See also: @{"Top" link TopGadget}, @{"Up" link UpGadget}, @{"Down" link DownGadget}
  125. @endnode
  126. @node SortGadget "Sort Gadget"
  127. Keyboard shortcut = @{b}r@{ub}/@{b}R@{ub}
  128. This gadget causes the assign list to be sorted in alphabetical order of assign name.
  129. The Utility library's Stricmp() function is used to compare the names, so the sort will be localised if you use the Locale library.
  130. @endnode
  131. @node DeleteGadget "Delete Gadget"
  132. Keyboard shortcut = none
  133. This gadget deletes the current entry from the assign list.  If a DOS assign corresponding to the entry exists, it will @{i}not @{ui}be cancelled.
  134. See also: @{"Add" link AddGadget}, @{"Unassign" link UnassignGadget}, @{"Clear" link ClearGadget}
  135. @endnode
  136. @node UnassignGadget "Unassign Gadget"
  137. Keyboard shortcut = none
  138. This gadget functions as the @{"Delete" link DeleteGadget} gadget, with the addition that if a DOS assign corresponding to the current entry exists, it will be cancelled.
  139. See also: @{"Add" link AddGadget}, @{"Delete" link UnassignGadget}, @{"Clear" link ClearGadget}
  140. @endnode
  141. @node ClearGadget "Clear Gadget"
  142. Keyboard shortcut = none
  143. This gadget causes the entire assign list to be cleared.  It will @{i}not @{ui} cancel any existing assigns.  Exactly the same effect can be achieved using @{"Reset To Defaults" link EditMenuReset} in the @{b}Edit@{ub} menu.
  144. See also: @{"Add" link AddGadget}, @{"Delete" link DeleteGadget}, @{"Unassign" link UnassignGadget}
  145. @endnode
  146. @node AssignGadget "Assign Gadget"
  147. Keyboard shortcut = @{b}i@{ub}/@{b}I@{ub}
  148. This string gadget is used to enter the name of an assign.  When entering an assign name, you shouldn't add the trailing colon.  Also, the assigns are not created as you enter them, but only when when you select @{"Use" link UseGadget} or @{"Save" link SaveGadget}.  If you enter an assign name that is already in the list, one of two things can happen:  if the existing assign is a @{"Simple" link AssignLock} or an @{"Add" link AssignAdd} assign, the assign you are editing will automatically be made an @{"Add" link AssignAdd} assign.  Otherwise, a requester will appear warning you of conflicting incompatible assigns (you can't add multiple assigns to a
  149. @{"Path" link AssignPath} assign for example).
  150. See also: @{"Type" link TypeGadget}, @{"State" link StateGadget}, @{"Path" link PathGadget}, @{"Comment" link CommentGadget}
  151. @endnode
  152. @node TypeGadget "Type Gadget"
  153. Keyboard shortcut = @{b}y@{ub} (cycle forwards), @{b}Y@{ub} (cycle backwards)
  154. This gadget allows you to select one of the four different types of assign. Where applicable, they correspond exactly to the switches the DOS Assign command uses, and are @{"Simple" link AssignLock}, @{"Defer" link AssignLate}, @{"Path" link AssignPath} and @{"Add" link AssignAdd}.
  155. See also: @{"Assign" link AssignGadget}, @{"State" link StateGadget}, @{"Path" link PathGadget}, @{"Comment" link CommentGadget}
  156. @endnode
  157. @node StateGadget "State Gadget"
  158. Keyboard shortcut = @{b}t@{ub} (cycle forwards), @{b}T@{ub} (cycle backwards)
  159. This gadget allows you to render an assign inactive without having to delete its entry.  This is useful for assigns that you occasionally need, but don't wish to have active all the time.  When an assign is inactive, an asterisk will appear next to the type column in the listview.  If an assign marked as inactive exists when AssignManager makes its changes to the DOS list, it will be cancelled.
  160. See also: @{"Assign" link AssignGadget}, @{"Type" link TypeGadget}, @{"Path" link PathGadget}, @{"Comment" link CommentGadget}
  161. @endnode
  162. @node PathGadget "Path Gadget"
  163. Keyboard shortcut = @{b}p@{ub} (activate gadget), @{b}P@{ub} (open path requester)
  164. This gadget is used to enter the path associated with an assign.  You can enter these manually, but it is sometimes easier to click on the getfile gadget and choose a path using the path requester.
  165. See also: @{"Assign" link AssignGadget}, @{"Type" link TypeGadget}, @{"State" link StateGadget}, @{"Comment" link CommentGadget}
  166. @endnode
  167. @node CommentGadget "Comment Gadget"
  168. Keyboard shortcut = @{b}o@{ub}/@{b}O@{ub}
  169. You can use this gadget to record comments on your assigns.  This handy for remembering what certain assigns are used for, and by which programs.
  170. See also: @{"Assign" link AssignGadget}, @{"Type" link TypeGadget}, @{"State" link StateGadget}, @{"Path" link PathGadget}
  171. @endnode
  172. @node SaveGadget "Save Gadget"
  173. Keyboard shortcut = @{b}s@{ub}/@{b}S@{ub}
  174. This gadget will exit AssignManager, before which the current assign list is permanently recorded so that it will be in effect for the current session and all following sessions.  Also, all @{"active" link StateGadget} assigns will be created if they don't already exist.  All assigns marked as
  175. @{"inactive" link StateGadget} will be cancelled if they exist.
  176. See also: @{"Use" link UseGadget}, @{"Cancel" link CancelGadget}
  177. @endnode
  178. @node UseGadget "Use Gadget"
  179. Keyboard shortcut = @{b}e@{ub}/@{b}E@{ub}
  180. This gadget will exit AssignManager, before which the current assign list is recorded so that it will be in effect for the current session, but will be gone the next time you reboot.  Also, all @{"active" link StateGadget} assigns will be created if they don't already exist.  All assigns marked as
  181. @{"inactive" link StateGadget} will be cancelled if they exist.
  182. See also: @{"Save" link SaveGadget}, @{"Cancel" link CancelGadget}
  183. @endnode
  184. @node CancelGadget "Cancel Gadget"
  185. Keyboard shortcut = @{b}c@{ub}/@{b}C@{ub}
  186. This gadget will exit AssignManager, discarding the current list of assigns. No changes will be made to the DOS assign list.
  187. See also: @{"Save" link SaveGadget}, @{"Use" link UseGadget}
  188. @endnode
  189. @node EditMenuReset "Edit 
  190.  Reset To Defaults"
  191. Keyboard shortcut = @{b}Left Amiga + D@{ub}
  192. This menu item causes the entire assign list to be cleared.  It will @{i}not @{ui} cancel any existing assigns.  Exactly the same effect can be achieved using the @{"Clear" link ClearGadget}.
  193. See also: @{"Clear" link ClearGadget}, @{"Delete" link DeleteGadget}, @{"Unassign" link UnassignGadget}
  194. @endnode
  195. @node EditMenuLastSaved "Edit 
  196.  Last Saved"
  197. Keyboard shortcut = @{b}Left Amiga + L@{ub}
  198. This menu item causes the current assign list to be replaced with the list that was stored when the @{"Save" link SaveGadget} gadget was last used.
  199. See also: @{"Save" link SaveGadget}
  200. @endnode
  201. @node EditMenuRestore "Edit 
  202.  Restore"
  203. Keyboard shortcut = @{b}Left Amiga + R@{ub}
  204. This menu item causes the current assign list to be replaced with the list as it was before any changes were made with the current invokation of AssignManager.  It can be thought of as a sort of "undo" feature.
  205. See also: @{"Last Saved" link EditMenuLastSaved}
  206. @endnode
  207. @node EditMenuGrabCurr "Edit 
  208.  Grab Current"
  209. Keyboard shortcut = @{b}Left Amiga + G@{ub}
  210. This menu item will @{u}append@{uu} DOS's current set of assigns onto the end of the current assign list.  All types of assign are grabbed, including multiple (@{"add" link AssignAdd}) assigns.
  211. @endnode
  212. @node AssignLock "Assign Types: Simple (Lock)"
  213. These are conventional, single-directory assigns (like using the Assign command without any switches).  Also called lock assigns.
  214. @endnode
  215. @node AssignLate "Assign Types: Defer (Late)"
  216. These are equivalent to the Assign command's "DEFER" switch, and are also called late assigns.  This type of assign doesn't bind immediately; the path is not locked (i.e.  DOS doesn't search for it) until some reference is made to the assign.  When this happens, the late assign becomes a lock assign. In simple terms, this means you can do things such as assigning to an unmounted volume without getting a requester.
  217. @endnode
  218. @node AssignPath "Assign Types: Path"
  219. These are like using the Assign command's "PATH" switch.  Path assigns never bind.  Instead, the path you specify is used each time the assign is referenced.  For example, having assigned "LIBS:" to "DF0:Libs", getting a directory of "LIBS:" will yield a directory of the "Libs" directory of whichever disk happens to be in the drive, no matter what volume it is.
  220. @endnode
  221. @node AssignAdd "Assign Types: Add"
  222. These are equivalent to the Assign command's "ADD" switch.  Whereas the other types of assign replace any other assign of the same name, an add assign extends any lock assign to cover more than one directory.  Therefore you can have several physical "Libs" directories, with one assign name referring to all of them (very useful for seperating your own library collection from the system libraries for example).
  223. @endnode
  224. @node Signals
  225. If you started AssignManager synchronously from a Shell (i.e.  you didn't use the Run command) you can send it a CTRL-C or CTRL-D signal just by pressing those keys.  If you started the program using the Run command, or you are in another Shell window, use the Status command to find AssignManager's process number and then use the Break command to send it a signal.
  226. If you started AssignManager from the Workbench, you will have to find its process number some other way or use a task monitor program (e.g.  TaskX or TaskE) to send it a signal.
  227. @endnode
  228. @node Acknowledgments
  229. Thanks to the following people:
  230. @{i}Nico Fran
  231. ois @{ui}for the ReqTools library, which makes life much more
  232. pleasant.
  233. @{i}Jan van den Baard @{ui}for GadToolsBox, which was used to design
  234. AssignManager's GUI.
  235. @{i}CygnusSoft @{ui}for CygnusEd, the fastest, most stable and @{b}best
  236. @{ub}text editor for the Amiga (and, from what I've seen, for any
  237. computer!).  And it still works without problems on my A1200!
  238. @{i}Commodore @{ui}for brilliant computers which the competition just can't
  239. match.
  240. @{i}Michael Simons @{ui}and @{i}Lars @{ui}(sorry, I don't know your last
  241. name!) for their ideas and bug reports.
  242. @{i}Martin Ramsch @{ui}for several good ideas, notably the grab and unassign
  243. features and the comment field.
  244. @endnode
  245. @node History
  246. @{b}V1.24@{ub}
  247. Changed the GUI around @{i}again @{ui}and added some frills (consequently the @{"Path" link PathGadget} string gadget is now a bit longer); added @{"Clear" link ClearGadget} gadget, made Grab gadget into an item in the Edit menu, added keyboard shortcuts for @{"Type" link TypeGadget} and @{"State" link StateGadget} cycle gadgets, removed duplicate keyboard shortcuts for @{"Top" link TopGadget} and @{"Bottom" link BottomGadget} gadgets.  Finally, when AssignManager is first started and it can't find a prefs file, it will automatically grab the current assigns.
  248. @{b}V1.23@{ub}
  249. Optimised the sort routine.  Added ability to mark particular assigns as inactive without having to delete them.
  250. @{b}V1.22@{ub}
  251. Changed a few things round in the GUI (bigger ListView, neater buttons).
  252. @{b}V1.21@{ub}
  253. Added check for duplicate when assign name is entered.
  254. @{b}V1.20@{ub}
  255. Added grab feature, unassign feature and comment field.  Consequently the appearance of the GUI has changed somewhat and the prefs file has changed due to the comment field.  Also, added keyboard shortcuts for several buttons.
  256. @{b}V1.11@{ub}
  257. Updated some of the code.  Button gadgets now highlight when their keyboard shortcut is used.
  258. @{b}V1.10@{ub}
  259. Window made wider again to accomodate some new gadgets, namely the sort gadget and the path getfile gadget (thanks to Michael Simons for these ideas).
  260. @{b}V1.03@{ub}
  261. ListView text now formatted with RawDoFmt(), and an incidental bug was removed.  Window is now a little narrower.
  262. @{b}V1.02@{ub}
  263. Removed close gadget to make AssignManager look more like a Commodore prefs editor.  Also, removed an undocumented feature (okay, bug) that caused an addressing error on <68020 machines (thanks Lars!).
  264. @{b}V1.01@{ub}
  265. The up/down and top/bottom gadgets are now disabled when the particular operation cannot be performed (this is not a bug fix, just an enhancment). Added an ID port to prevent multiple invokations.
  266. @{b}V1.00@{ub}
  267. First version.  Wrote it in assembler after being dissatisfied with a similar program called AssignPrefs.
  268. @endnode
  269.